import time

route_list = []

def app(path):
    def warpper(func):
        route_list.append((path,func))
        def inner():
            pass
        return inner
    return warpper

#  @app('路径')　将路径及其对应函数引用添加到路由列表中　　而非装饰作用  flask框架添加路由的方式
@app("/gettime.html")
def get_time():
    return time.ctime()

@app("/index.html")
def index():
    """当前用户请求/index.html　执行当前函数"""
    # １　将模板文件从磁盘读取到内存中
    with open("./template/index.html","r",encoding="utf-8") as file:
        html_data = file.read()
    # 2 对模板文件进行替换《把占位符替换为用户需要的数据》
    html_data = html_data.replace("{%content%}","this is test data")
    return html_data

# 路由列表    路径　　　函数引用
# 增加了框架可维护性　　　app的代码不用做任何修改可以直接添加功能　　django框架添加路由方式
# route_list = [("/index.html",index),("/gettime.html", get_time)]


def app(env):
    path_info = env['PATH_INFO']
    print("框架收到动态资源请求 %s" % path_info)
    for path, func in route_list:
        if path_info == path:
            return '200OK', [("server", "APP1.1")],func()
    else:
        return '404OK', [("server", "APP1.1")],'hello world'
